modelbutton: Emit ::clicked() before closing the popover
authorTimm Bäder <mail@baedert.org>
Sun, 12 Apr 2020 06:36:36 +0000 (08:36 +0200)
committerTimm Bäder <mail@baedert.org>
Fri, 17 Apr 2020 13:21:00 +0000 (15:21 +0200)
The clicked handler might still need the popover.

gtk/gtkmodelbutton.c

index 90249bfedb6ae65f70f09d4242a13593d0266400..a67a7b8485462f18075c1a168d1deefb231dc18c 100644 (file)
@@ -971,6 +971,8 @@ gtk_model_button_clicked (GtkGestureClick *gesture,
                           double           y,
                           GtkModelButton  *self)
 {
+  g_signal_emit (self, signals[SIGNAL_CLICKED], 0);
+
   if (self->menu_name != NULL)
     {
       switch_menu (self);
@@ -991,7 +993,6 @@ gtk_model_button_clicked (GtkGestureClick *gesture,
       close_menu (self);
     }
 
-  g_signal_emit (self, signals[SIGNAL_CLICKED], 0);
 
   if (self->action_helper)
     gtk_action_helper_activate (self->action_helper);